Currently, test systems or programs are devised in accordance with the particular piece of equipment or system to be tested, and tend to be require a great deal of manual effort both in devising the test system or program and its implementation.
The test system or program which is to be executed to test a particular piece of equipment or a system is first defined in a test requirement document (TRD). The TRD is then used to define the test program structure in a suitable test programming environment (for example, a suitable test programming language). This step is carried out by a person skilled in the test programming environment and may require several iterations before the defined test program structure is completed.
The next step in the process of defining the test system or program is either to generate a test script or to write test code from the test program structure. In both cases, the test script or test code must be carried out by a skilled person. In the former case, the script is reviewed and, if amendments are needed, the script is revised. This process may take several iterations to produce a satisfactory script which allows the test program to run and produce sensible results. In the latter case, the test code will include various header files, limit files, test files etc. Each file type will need to be reviewed and validated individually in order to produce a test program which will run and produce sensible results.
Both generating a test script and writing test code are labour-intensive as there is no guarantee that the test program will be correct the first time and several iterations may need to be carried out to produce the final test program.
Furthermore, for each particular piece of equipment or system to be tested, a different test program needs to be generated, and subsequent additions to the TRD may result in the whole process being repeated from scratch.